R Markdown

trees <- read.csv('https://raw.githubusercontent.com/dmcglinn/quant_methods/gh-pages/data/treedata_subset.csv')
  1. Carry out an exploratory analysis using the tree dataset. Metadata for the tree study can be found here. Specifically, I would like you to develop and compare models for species cover for a habitat generalist Acer rubrum (Red maple) and a habitat specialist Abies fraseri (Frasier fir). Because this dataset includes both continuous and discrete explanatory variables use the function Anova in the packages car as such
library(car)
## Loading required package: carData

Anova(my_mod, type=3) Compare the p-values you observe using the function Anova to those generated using summary.

For each species address the following additional questions:

Prior to addressing the above questions you will want to restructure and subset the data using the # # following R code: wish to model species cover across all sampled plots create site x sp matrix for two species

sp_cov = with(trees, tapply(cover, list(plotID, spcode), 
                            function(x) round(mean(x))))
sp_cov = ifelse(is.na(sp_cov), 0, sp_cov)
sp_cov = data.frame(plotID = row.names(sp_cov), sp_cov)
# create environmental matrix
cols_to_select = c('elev', 'tci', 'streamdist', 'disturb', 'beers')
env = aggregate(trees[ , cols_to_select], by = list(trees$plotID), 
                function(x) x[1])
names(env)[1] = 'plotID'
# merge species and environmental matrices
site_dat = merge(sp_cov, env, by='plotID')
# subset species of interest
abies = site_dat[ , c('ABIEFRA', cols_to_select)]
acer  = site_dat[ , c('ACERRUB', cols_to_select)]
names(abies)[1] = 'cover'
names(acer)[1] = 'cover'

loading more libraries

library(ggplot2)
library(gridExtra)
library(scatterplot3d)
library(MASS)
## Warning: package 'MASS' was built under R version 4.1.2

viewing the data

#abies
#acer
names(abies)
## [1] "cover"      "elev"       "tci"        "streamdist" "disturb"   
## [6] "beers"
names(acer)
## [1] "cover"      "elev"       "tci"        "streamdist" "disturb"   
## [6] "beers"

boxplots for quantitative—- and their quantiles

ggplot(data = abies) + 
  geom_boxplot(mapping = aes(x = disturb, y = cover)) +  
  labs(x = 'Disturbance', y = 'Cover', title = 'abies disturbance versus cover') 

ggplot(data = acer) + 
  geom_boxplot(mapping = aes(x = disturb, y = cover)) +  
  labs(x = 'Disturbance', y = 'Cover', title = 'acer disturbance versus cover') 

# abies quantiles 
quantile(abies$cover[abies$disturb == 'VIRGIN'])
##   0%  25%  50%  75% 100% 
##    0    0    0    0    9
quantile(abies$cover[abies$disturb == 'CORPLOG'])
##   0%  25%  50%  75% 100% 
##    0    0    0    0    1
quantile(abies$cover[abies$disturb == 'SETTLE'])
##   0%  25%  50%  75% 100% 
##    0    0    0    0    3
quantile(abies$cover[abies$disturb == 'LT-SEL'])
##   0%  25%  50%  75% 100% 
##    0    0    0    0    5
# acer quantiles 
quantile(acer$cover[acer$disturb == 'VIRGIN'])
##   0%  25%  50%  75% 100% 
##    0    0    2    6   10
quantile(acer$cover[acer$disturb == 'CORPLOG'])
##   0%  25%  50%  75% 100% 
##    0    1    4    6   10
quantile(acer$cover[acer$disturb == 'SETTLE'])
##   0%  25%  50%  75% 100% 
## 0.00 2.25 5.00 6.00 9.00
quantile(acer$cover[acer$disturb == 'LT-SEL'])
##   0%  25%  50%  75% 100% 
##    0    2    5    6   10

ABIES original plots—-

plot(cover ~ elev, data = abies, xlab = 'Elevation (m)',
     ylab = 'Cover', main= 'abies elevation versus cover')

plot(cover ~ tci, data = abies, xlab = 'Topographic Coverage Index',
     ylab = 'Cover', main= 'abies tci versus cover')

plot(cover ~ streamdist, data = abies, xlab = 'Stream Distance (m)',
     ylab = 'Cover', main= 'abies stream distance versus cover')

plot(cover ~ beers, data = abies, xlab = 'Beers',
     ylab = 'Cover', main= 'abies beers versus cover')

ACER original plots—-

plot(cover ~ elev, data = acer, xlab = 'Elevation (m)',
     ylab = 'Cover', main= 'acer elevation versus cover')

plot(cover ~ tci, data = acer, xlab = 'Topographic Coverage Index',
     ylab = 'Cover', main= 'acer tci versus cover')

plot(cover ~ streamdist, data = acer, xlab = 'Stream Distance (m)',
     ylab = 'Cover', main= 'acer stream distance versus cover')

plot(cover ~ beers, data = acer, xlab = 'Beers',
     ylab = 'Cover', main= 'acer beers versus cover')

Intercept only models for Abies and Acer, cover as y variable—-

null_mod_abies = lm(cover ~ 1, data = abies)
null_mod_acer = lm(cover ~ 1, data = acer)     
null_mod_abies
## 
## Call:
## lm(formula = cover ~ 1, data = abies)
## 
## Coefficients:
## (Intercept)  
##      0.1866
null_mod_acer
## 
## Call:
## lm(formula = cover ~ 1, data = acer)
## 
## Coefficients:
## (Intercept)  
##       4.061
mean(abies$cover)
## [1] 0.1866485
mean(acer$cover)
## [1] 4.061308
plot(cover ~ 1, data = abies)
abline(null_mod_abies, lwd = 2)
abline(h = mean(abies$cover), col = 'red', lty = 2, lwd = 2)

plot(cover ~ 1, data = acer)
abline(null_mod_acer, lwd = 2)
abline(h = mean(acer$cover), col = 'red', lty = 2, lwd = 2)

create single variable main effect models for each species and variable—-

# abies
elev_mod_abies = lm(cover ~ elev, data = abies)
tci_mod_abies = lm(cover ~ tci, data = abies)
streamdist_mod_abies = lm(cover ~ streamdist, data = abies)
disturb_mod_abies = lm(cover ~ disturb, data = abies)
beers_mod_abies = lm(cover ~ beers, data = abies)
# acer 
elev_mod_acer = lm(cover ~ elev, data = acer)
tci_mod_acer = lm(cover ~ tci, data = acer)
streamdist_mod_acer = lm(cover ~ streamdist, data = acer)
disturb_mod_acer = lm(cover ~ disturb, data = acer)
beers_mod_acer = lm(cover ~ beers, data = acer)

abies single model main effect summaries—-

summary(elev_mod_abies)
## 
## Call:
## lm(formula = cover ~ elev, data = abies)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.4859 -0.4908 -0.0754  0.2514  7.4325 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.088182   0.099951  -10.89   <2e-16 ***
## elev         0.001361   0.000100   13.61   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9441 on 732 degrees of freedom
## Multiple R-squared:  0.2019, Adjusted R-squared:  0.2008 
## F-statistic: 185.2 on 1 and 732 DF,  p-value: < 2.2e-16
Anova(elev_mod_abies, type= 3)
## Anova Table (Type III tests)
## 
## Response: cover
##             Sum Sq  Df F value    Pr(>F)    
## (Intercept) 105.64   1  118.53 < 2.2e-16 ***
## elev        165.04   1  185.19 < 2.2e-16 ***
## Residuals   652.38 732                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#summary(tci_mod_abies)
summary(streamdist_mod_abies)
## 
## Call:
## lm(formula = cover ~ streamdist, data = abies)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.1311 -0.3140 -0.1284  0.0293  8.2471 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.1116173  0.0623585  -1.790   0.0739 .  
## streamdist   0.0012979  0.0002149   6.039 2.47e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.031 on 732 degrees of freedom
## Multiple R-squared:  0.04746,    Adjusted R-squared:  0.04616 
## F-statistic: 36.47 on 1 and 732 DF,  p-value: 2.466e-09
summary(disturb_mod_abies)
## 
## Call:
## lm(formula = cover ~ disturb, data = abies)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.8389 -0.0333 -0.0235 -0.0235  8.1611 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.006494   0.081014   0.080    0.936    
## disturbLT-SEL 0.016967   0.097608   0.174    0.862    
## disturbSETTLE 0.026840   0.133393   0.201    0.841    
## disturbVIRGIN 0.832433   0.115528   7.205 1.45e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.005 on 730 degrees of freedom
## Multiple R-squared:  0.09737,    Adjusted R-squared:  0.09366 
## F-statistic: 26.25 on 3 and 730 DF,  p-value: 3.941e-16
#summary(beers_mod_abies)
# significant p-values = elev, disturb (b/c of VIRGIN), streamdist

acer single model main effect summaries—-

summary(elev_mod_acer)
## 
## Call:
## lm(formula = cover ~ elev, data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.3551 -2.0426  0.1479  1.9037  6.7198 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.9249469  0.2685473   25.79   <2e-16 ***
## elev        -0.0030577  0.0002688  -11.38   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.536 on 732 degrees of freedom
## Multiple R-squared:  0.1503, Adjusted R-squared:  0.1491 
## F-statistic: 129.4 on 1 and 732 DF,  p-value: < 2.2e-16
#summary(tci_mod_acer)
summary(streamdist_mod_acer)
## 
## Call:
## lm(formula = cover ~ streamdist, data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.3240 -2.3126  0.7015  2.0323  6.0441 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.3240146  0.1659162  26.061   <2e-16 ***
## streamdist  -0.0011432  0.0005718  -1.999    0.046 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.744 on 732 degrees of freedom
## Multiple R-squared:  0.00543,    Adjusted R-squared:  0.004071 
## F-statistic: 3.996 on 1 and 732 DF,  p-value: 0.04597
summary(disturb_mod_acer)
## 
## Call:
## lm(formula = cover ~ disturb, data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.5000 -2.5000  0.6334  1.9351  6.9060 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     4.0649     0.2182  18.627  < 2e-16 ***
## disturbLT-SEL   0.3016     0.2629   1.147  0.25166    
## disturbSETTLE   0.4351     0.3593   1.211  0.22636    
## disturbVIRGIN  -0.9710     0.3112  -3.120  0.00188 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.708 on 730 degrees of freedom
## Multiple R-squared:  0.03402,    Adjusted R-squared:  0.03005 
## F-statistic: 8.569 on 3 and 730 DF,  p-value: 1.348e-05
summary(beers_mod_acer)
## 
## Call:
## lm(formula = cover ~ beers, data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.6661 -2.5662  0.4242  2.2325  6.2191 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   4.6667     0.1882  24.791  < 2e-16 ***
## beers        -0.5540     0.1456  -3.804 0.000154 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.725 on 732 degrees of freedom
## Multiple R-squared:  0.01939,    Adjusted R-squared:  0.01805 
## F-statistic: 14.47 on 1 and 732 DF,  p-value: 0.000154
# significant p-values = all EXCEPT tci
# beers has a significant effect on acers, but not abies in these models

all main effects for both—-

all_mod_abies = lm(cover ~ elev + tci + streamdist + disturb + beers, data = abies) 
all_mod_acer = lm(cover ~ elev + tci + streamdist + disturb + beers, data = acer)

summary(all_mod_abies)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers, 
##     data = abies)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.5809 -0.4502 -0.0420  0.2346  6.9968 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   -1.5705179  0.1871566  -8.391 2.50e-16 ***
## elev           0.0013315  0.0001237  10.764  < 2e-16 ***
## tci            0.0255969  0.0162231   1.578 0.115046    
## streamdist     0.0004553  0.0002101   2.167 0.030574 *  
## disturbLT-SEL  0.3248142  0.0941853   3.449 0.000596 ***
## disturbSETTLE  0.5408814  0.1311418   4.124 4.15e-05 ***
## disturbVIRGIN  0.5584644  0.1082404   5.159 3.20e-07 ***
## beers         -0.0675883  0.0508326  -1.330 0.184059    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9203 on 726 degrees of freedom
## Multiple R-squared:  0.2478, Adjusted R-squared:  0.2406 
## F-statistic: 34.17 on 7 and 726 DF,  p-value: < 2.2e-16
summary(all_mod_acer)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers, 
##     data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.1258 -1.9460  0.1577  1.8624  6.8596 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    8.7372607  0.5086637  17.177  < 2e-16 ***
## elev          -0.0034639  0.0003362 -10.304  < 2e-16 ***
## tci           -0.1317294  0.0440921  -2.988  0.00291 ** 
## streamdist     0.0007520  0.0005711   1.317  0.18832    
## disturbLT-SEL -0.4379126  0.2559816  -1.711  0.08756 .  
## disturbSETTLE -0.9309789  0.3564239  -2.612  0.00919 ** 
## disturbVIRGIN -0.3601527  0.2941812  -1.224  0.22125    
## beers         -0.4101716  0.1381555  -2.969  0.00309 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.501 on 726 degrees of freedom
## Multiple R-squared:  0.1805, Adjusted R-squared:  0.1726 
## F-statistic: 22.85 on 7 and 726 DF,  p-value: < 2.2e-16

identifying outliers and modifying acer because of them—- Remove tci outliers and streamdistance outliers

# This code was used to identify the outliers...
# identify(acer$cover ~ abies$tci)
# identify(acer$cover ~ abies$streamdist)
plot(cover ~ streamdist, data = acer, xlab = 'Stream Distance (m)',
     ylab = 'Cover', main= 'acer stream distance versus cover')

plot(cover ~ tci, data = acer, xlab = 'Topographic Coverage Index',
     ylab = 'Cover', main= 'acer tci versus cover')

acer_subset = acer[-c(121, 318, 297,56,187), ]
# note... outliers 56 and 187 removed due to work further in assignment not tci or streamdistance outliers

# new plots without the outliers
plot(cover ~ tci, data= acer_subset, main="acer subset tci versus cover", xlab='tci', ylab= 'cover')

plot(cover ~ streamdist, data = acer_subset, xlab = 'Stream Distance (m)',
     ylab = 'Cover', main= 'acer stream distance versus cover subset')

dim(acer)
## [1] 734   6
dim(acer_subset)
## [1] 729   6

new single variable models with the acersubset—-

elev_mod_acersubset = lm(cover ~ elev, data = acer_subset)
tci_mod_acersubset = lm(cover ~ tci, data = acer_subset)
streamdist_mod_acersubset = lm(cover ~ streamdist, data = acer_subset)
disturb_mod_acersubset = lm(cover ~ disturb, data = acer_subset)
beers_mod_acersubset = lm(cover ~ beers, data = acer_subset)

comparing the original summaries to the subset without outliers—-

# elevation
summary(elev_mod_acer)
## 
## Call:
## lm(formula = cover ~ elev, data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.3551 -2.0426  0.1479  1.9037  6.7198 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.9249469  0.2685473   25.79   <2e-16 ***
## elev        -0.0030577  0.0002688  -11.38   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.536 on 732 degrees of freedom
## Multiple R-squared:  0.1503, Adjusted R-squared:  0.1491 
## F-statistic: 129.4 on 1 and 732 DF,  p-value: < 2.2e-16
summary(elev_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ elev, data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.3328 -2.0435  0.1452  1.8965  6.7214 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.8869358  0.2703665   25.47   <2e-16 ***
## elev        -0.0030271  0.0002706  -11.19   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.536 on 727 degrees of freedom
## Multiple R-squared:  0.1469, Adjusted R-squared:  0.1457 
## F-statistic: 125.1 on 1 and 727 DF,  p-value: < 2.2e-16
# topographic coverage index
summary(tci_mod_acer)
## 
## Call:
## lm(formula = cover ~ tci, data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.2230 -2.1787  0.8352  1.9321  6.0764 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.41359    0.28922  15.260   <2e-16 ***
## tci         -0.06060    0.04659  -1.301    0.194    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.748 on 732 degrees of freedom
## Multiple R-squared:  0.002306,   Adjusted R-squared:  0.0009428 
## F-statistic: 1.692 on 1 and 732 DF,  p-value: 0.1938
summary(tci_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ tci, data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.3476 -2.2735  0.7727  1.9372  6.2211 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   4.7231     0.3194   14.79   <2e-16 ***
## tci          -0.1168     0.0526   -2.22   0.0267 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.736 on 727 degrees of freedom
## Multiple R-squared:  0.006733,   Adjusted R-squared:  0.005367 
## F-statistic: 4.928 on 1 and 727 DF,  p-value: 0.02673
# stream distance
summary(streamdist_mod_acer)
## 
## Call:
## lm(formula = cover ~ streamdist, data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.3240 -2.3126  0.7015  2.0323  6.0441 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.3240146  0.1659162  26.061   <2e-16 ***
## streamdist  -0.0011432  0.0005718  -1.999    0.046 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.744 on 732 degrees of freedom
## Multiple R-squared:  0.00543,    Adjusted R-squared:  0.004071 
## F-statistic: 3.996 on 1 and 732 DF,  p-value: 0.04597
summary(streamdist_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ streamdist, data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.3222 -2.3103  0.7043  2.0112  6.0591 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.3221695  0.1671067  25.865   <2e-16 ***
## streamdist  -0.0011840  0.0005795  -2.043   0.0414 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.737 on 727 degrees of freedom
## Multiple R-squared:  0.00571,    Adjusted R-squared:  0.004342 
## F-statistic: 4.175 on 1 and 727 DF,  p-value: 0.04139
# disturbance
summary(disturb_mod_acer)
## 
## Call:
## lm(formula = cover ~ disturb, data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.5000 -2.5000  0.6334  1.9351  6.9060 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     4.0649     0.2182  18.627  < 2e-16 ***
## disturbLT-SEL   0.3016     0.2629   1.147  0.25166    
## disturbSETTLE   0.4351     0.3593   1.211  0.22636    
## disturbVIRGIN  -0.9710     0.3112  -3.120  0.00188 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.708 on 730 degrees of freedom
## Multiple R-squared:  0.03402,    Adjusted R-squared:  0.03005 
## F-statistic: 8.569 on 3 and 730 DF,  p-value: 1.348e-05
summary(disturb_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ disturb, data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.5172 -2.5172  0.6549  1.9060  6.9060 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     4.0649     0.2178  18.667  < 2e-16 ***
## disturbLT-SEL   0.2802     0.2626   1.067  0.28633    
## disturbSETTLE   0.4523     0.3624   1.248  0.21244    
## disturbVIRGIN  -0.9710     0.3105  -3.127  0.00184 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.702 on 725 degrees of freedom
## Multiple R-squared:  0.03372,    Adjusted R-squared:  0.02972 
## F-statistic: 8.433 on 3 and 725 DF,  p-value: 1.633e-05
#beers index
summary(beers_mod_acer)
## 
## Call:
## lm(formula = cover ~ beers, data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.6661 -2.5662  0.4242  2.2325  6.2191 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   4.6667     0.1882  24.791  < 2e-16 ***
## beers        -0.5540     0.1456  -3.804 0.000154 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.725 on 732 degrees of freedom
## Multiple R-squared:  0.01939,    Adjusted R-squared:  0.01805 
## F-statistic: 14.47 on 1 and 732 DF,  p-value: 0.000154
summary(beers_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ beers, data = acer_subset)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -4.647 -2.551  0.434  2.240  6.226 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   4.6480     0.1881  24.706  < 2e-16 ***
## beers        -0.5468     0.1455  -3.758 0.000185 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.719 on 727 degrees of freedom
## Multiple R-squared:  0.01906,    Adjusted R-squared:  0.01771 
## F-statistic: 14.12 on 1 and 727 DF,  p-value: 0.0001849

comparing the original main model with the subset main model for acer—-

all_mod_acersubset = lm(cover ~ elev + tci + streamdist + disturb + beers, data = acer_subset)
summary(all_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers, 
##     data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.1887 -1.9464  0.1631  1.9826  6.8396 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    9.2372046  0.5339143  17.301  < 2e-16 ***
## elev          -0.0034945  0.0003398 -10.283  < 2e-16 ***
## tci           -0.2046178  0.0498058  -4.108 4.44e-05 ***
## streamdist     0.0006598  0.0005794   1.139  0.25521    
## disturbLT-SEL -0.4619579  0.2547171  -1.814  0.07015 .  
## disturbSETTLE -1.0037448  0.3601843  -2.787  0.00546 ** 
## disturbVIRGIN -0.3555848  0.2925413  -1.216  0.22457    
## beers         -0.4378810  0.1379524  -3.174  0.00157 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.486 on 721 degrees of freedom
## Multiple R-squared:  0.1868, Adjusted R-squared:  0.1789 
## F-statistic: 23.66 on 7 and 721 DF,  p-value: < 2.2e-16
summary(all_mod_acer)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers, 
##     data = acer)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.1258 -1.9460  0.1577  1.8624  6.8596 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    8.7372607  0.5086637  17.177  < 2e-16 ***
## elev          -0.0034639  0.0003362 -10.304  < 2e-16 ***
## tci           -0.1317294  0.0440921  -2.988  0.00291 ** 
## streamdist     0.0007520  0.0005711   1.317  0.18832    
## disturbLT-SEL -0.4379126  0.2559816  -1.711  0.08756 .  
## disturbSETTLE -0.9309789  0.3564239  -2.612  0.00919 ** 
## disturbVIRGIN -0.3601527  0.2941812  -1.224  0.22125    
## beers         -0.4101716  0.1381555  -2.969  0.00309 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.501 on 726 degrees of freedom
## Multiple R-squared:  0.1805, Adjusted R-squared:  0.1726 
## F-statistic: 22.85 on 7 and 726 DF,  p-value: < 2.2e-16
# removing the outliers did slightly improve the R-squared and adjusted R- squared, it also greatly increased the significance of tci( lowered the p value), so the subset without the outliers will be used from now on

model with elev, tci, and beers—-

# acer
etb_mod_acersubset = lm(cover ~ elev + tci + beers , data = acer_subset)
summary(etb_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + beers, data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.6002 -2.0373  0.2047  1.8836  6.9286 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  8.6413102  0.4390231  19.683  < 2e-16 ***
## elev        -0.0030863  0.0002711 -11.384  < 2e-16 ***
## tci         -0.2170697  0.0488048  -4.448    1e-05 ***
## beers       -0.4112964  0.1357451  -3.030  0.00253 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.495 on 725 degrees of freedom
## Multiple R-squared:  0.1766, Adjusted R-squared:  0.1732 
## F-statistic: 51.82 on 3 and 725 DF,  p-value: < 2.2e-16
# abies 
etb_interaction_mod_acersubset = lm(cover ~ elev + tci + beers + tci * elev + elev * beers + beers * tci + beers * tci * elev , data = acer_subset)
summary(etb_interaction_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + beers + tci * elev + elev * 
##     beers + beers * tci + beers * tci * elev, data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.4158 -1.8372  0.2633  1.7868  7.3039 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     5.8023043  1.5869529   3.656 0.000275 ***
## elev            0.0002365  0.0017578   0.135 0.893024    
## tci             0.1058822  0.2512847   0.421 0.673615    
## beers          -0.0539380  1.3327971  -0.040 0.967730    
## elev:tci       -0.0003896  0.0002879  -1.353 0.176396    
## elev:beers     -0.0003380  0.0014374  -0.235 0.814144    
## tci:beers       0.1102431  0.2274572   0.485 0.628053    
## elev:tci:beers -0.0001337  0.0002550  -0.524 0.600182    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.477 on 721 degrees of freedom
## Multiple R-squared:  0.1924, Adjusted R-squared:  0.1846 
## F-statistic: 24.54 on 7 and 721 DF,  p-value: < 2.2e-16
# interaction effect with elev:tci and elev:beers
AIC(etb_interaction_mod_acersubset)
## [1] 3401.442
AIC(etb_mod_acersubset)
## [1] 3407.592

the above model just proved my suspicions on how important elevation was to the model, it will not be used over other models however because the r squared was lower

adding only elevation interaction to main model————-

# acer
elev_interaction_mod_acersubset = lm(cover ~ elev + tci + streamdist + disturb + beers + elev * tci + elev * beers + elev * streamdist + elev * disturb, data = acer_subset)
summary(elev_interaction_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.2920 -1.7988  0.2311  1.8044  6.6561 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         3.289e+00  1.330e+00   2.473  0.01363 *  
## elev                2.685e-03  1.351e-03   1.988  0.04718 *  
## tci                 2.998e-01  1.463e-01   2.050  0.04074 *  
## streamdist          2.009e-03  1.566e-03   1.283  0.19988    
## disturbLT-SEL       1.289e+00  8.008e-01   1.609  0.10803    
## disturbSETTLE       1.529e-01  1.483e+00   0.103  0.91788    
## disturbVIRGIN       4.687e+00  1.163e+00   4.032 6.13e-05 ***
## beers               3.922e-01  3.913e-01   1.002  0.31663    
## elev:tci           -5.754e-04  1.653e-04  -3.481  0.00053 ***
## elev:beers         -9.180e-04  3.987e-04  -2.303  0.02158 *  
## elev:streamdist    -1.013e-06  1.513e-06  -0.669  0.50348    
## elev:disturbLT-SEL -1.489e-03  7.837e-04  -1.901  0.05776 .  
## elev:disturbSETTLE -5.309e-04  2.105e-03  -0.252  0.80094    
## elev:disturbVIRGIN -4.234e-03  9.815e-04  -4.314 1.83e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.434 on 715 degrees of freedom
## Multiple R-squared:  0.2268, Adjusted R-squared:  0.2127 
## F-statistic: 16.13 on 13 and 715 DF,  p-value: < 2.2e-16
# adding interaction to whole model----
full_mod_acersubset = update(all_mod_acersubset, ~ . + elev * disturb * tci * streamdist * beers)
all_mod_acersubset = lm(cover ~ elev + tci + streamdist + disturb + beers, data = acer_subset)

# comparing the three acer summary outputs 
summary(all_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers, 
##     data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.1887 -1.9464  0.1631  1.9826  6.8396 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    9.2372046  0.5339143  17.301  < 2e-16 ***
## elev          -0.0034945  0.0003398 -10.283  < 2e-16 ***
## tci           -0.2046178  0.0498058  -4.108 4.44e-05 ***
## streamdist     0.0006598  0.0005794   1.139  0.25521    
## disturbLT-SEL -0.4619579  0.2547171  -1.814  0.07015 .  
## disturbSETTLE -1.0037448  0.3601843  -2.787  0.00546 ** 
## disturbVIRGIN -0.3555848  0.2925413  -1.216  0.22457    
## beers         -0.4378810  0.1379524  -3.174  0.00157 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.486 on 721 degrees of freedom
## Multiple R-squared:  0.1868, Adjusted R-squared:  0.1789 
## F-statistic: 23.66 on 7 and 721 DF,  p-value: < 2.2e-16
summary(elev_interaction_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.2920 -1.7988  0.2311  1.8044  6.6561 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         3.289e+00  1.330e+00   2.473  0.01363 *  
## elev                2.685e-03  1.351e-03   1.988  0.04718 *  
## tci                 2.998e-01  1.463e-01   2.050  0.04074 *  
## streamdist          2.009e-03  1.566e-03   1.283  0.19988    
## disturbLT-SEL       1.289e+00  8.008e-01   1.609  0.10803    
## disturbSETTLE       1.529e-01  1.483e+00   0.103  0.91788    
## disturbVIRGIN       4.687e+00  1.163e+00   4.032 6.13e-05 ***
## beers               3.922e-01  3.913e-01   1.002  0.31663    
## elev:tci           -5.754e-04  1.653e-04  -3.481  0.00053 ***
## elev:beers         -9.180e-04  3.987e-04  -2.303  0.02158 *  
## elev:streamdist    -1.013e-06  1.513e-06  -0.669  0.50348    
## elev:disturbLT-SEL -1.489e-03  7.837e-04  -1.901  0.05776 .  
## elev:disturbSETTLE -5.309e-04  2.105e-03  -0.252  0.80094    
## elev:disturbVIRGIN -4.234e-03  9.815e-04  -4.314 1.83e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.434 on 715 degrees of freedom
## Multiple R-squared:  0.2268, Adjusted R-squared:  0.2127 
## F-statistic: 16.13 on 13 and 715 DF,  p-value: < 2.2e-16
summary(full_mod_acersubset) 
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev:disturb + elev:tci + tci:disturb + elev:streamdist + 
##     streamdist:disturb + tci:streamdist + elev:beers + disturb:beers + 
##     tci:beers + streamdist:beers + elev:tci:disturb + elev:streamdist:disturb + 
##     elev:tci:streamdist + tci:streamdist:disturb + elev:disturb:beers + 
##     elev:tci:beers + tci:disturb:beers + elev:streamdist:beers + 
##     streamdist:disturb:beers + tci:streamdist:beers + elev:tci:streamdist:disturb + 
##     elev:tci:disturb:beers + elev:streamdist:disturb:beers + 
##     elev:tci:streamdist:beers + tci:streamdist:disturb:beers + 
##     elev:tci:streamdist:disturb:beers, data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.7392 -1.4313  0.0834  1.6428  6.5336 
## 
## Coefficients:
##                                           Estimate Std. Error t value Pr(>|t|)
## (Intercept)                              4.524e+00  7.090e+00   0.638  0.52370
## elev                                     4.582e-03  7.252e-03   0.632  0.52769
## tci                                      6.619e-01  9.226e-01   0.717  0.47333
## streamdist                              -2.631e-02  2.759e-02  -0.954  0.34057
## disturbLT-SEL                            3.736e+00  8.237e+00   0.454  0.65032
## disturbSETTLE                           -8.253e+00  1.512e+01  -0.546  0.58533
## disturbVIRGIN                           -1.635e+01  1.757e+01  -0.930  0.35251
## beers                                    4.483e+00  5.725e+00   0.783  0.43389
## elev:disturbLT-SEL                      -6.959e-03  9.128e-03  -0.762  0.44609
## elev:disturbSETTLE                       5.836e-03  2.239e-02   0.261  0.79448
## elev:disturbVIRGIN                       9.693e-03  1.516e-02   0.639  0.52278
## elev:tci                                -1.058e-03  1.012e-03  -1.045  0.29643
## tci:disturbLT-SEL                       -1.000e+00  1.109e+00  -0.902  0.36736
## tci:disturbSETTLE                        2.788e-01  2.372e+00   0.118  0.90648
## tci:disturbVIRGIN                        3.491e+00  2.901e+00   1.203  0.22923
## elev:streamdist                          9.644e-06  2.599e-05   0.371  0.71068
## streamdist:disturbLT-SEL                -7.836e-03  3.338e-02  -0.235  0.81446
## streamdist:disturbSETTLE                 4.208e-02  6.243e-02   0.674  0.50052
## streamdist:disturbVIRGIN                 1.611e-01  6.259e-02   2.574  0.01026
## tci:streamdist                           2.852e-03  3.922e-03   0.727  0.46735
## elev:beers                              -7.118e-03  5.800e-03  -1.227  0.22016
## disturbLT-SEL:beers                     -7.562e+00  6.734e+00  -1.123  0.26183
## disturbSETTLE:beers                      4.170e+00  1.307e+01   0.319  0.74979
## disturbVIRGIN:beers                      1.638e+01  1.552e+01   1.056  0.29158
## tci:beers                               -6.633e-01  7.664e-01  -0.865  0.38711
## streamdist:beers                         2.867e-02  2.490e-02   1.151  0.24997
## elev:tci:disturbLT-SEL                   1.143e-03  1.256e-03   0.910  0.36311
## elev:tci:disturbSETTLE                  -3.850e-04  3.791e-03  -0.102  0.91913
## elev:tci:disturbVIRGIN                  -2.514e-03  2.513e-03  -1.001  0.31743
## elev:streamdist:disturbLT-SEL            2.243e-05  3.489e-05   0.643  0.52058
## elev:streamdist:disturbSETTLE           -1.635e-05  9.428e-05  -0.173  0.86238
## elev:streamdist:disturbVIRGIN           -1.068e-04  4.969e-05  -2.150  0.03193
## elev:tci:streamdist                     -1.549e-06  3.715e-06  -0.417  0.67693
## tci:streamdist:disturbLT-SEL             3.365e-03  5.116e-03   0.658  0.51086
## tci:streamdist:disturbSETTLE            -2.746e-03  1.063e-02  -0.258  0.79622
## tci:streamdist:disturbVIRGIN            -2.735e-02  1.072e-02  -2.551  0.01096
## elev:disturbLT-SEL:beers                 9.378e-03  7.417e-03   1.264  0.20658
## elev:disturbSETTLE:beers                -4.308e-03  1.905e-02  -0.226  0.82118
## elev:disturbVIRGIN:beers                -9.820e-03  1.359e-02  -0.723  0.47022
## elev:tci:beers                           8.144e-04  8.334e-04   0.977  0.32883
## tci:disturbLT-SEL:beers                  1.176e+00  9.616e-01   1.222  0.22197
## tci:disturbSETTLE:beers                 -3.553e-01  1.956e+00  -0.182  0.85591
## tci:disturbVIRGIN:beers                 -3.029e+00  2.753e+00  -1.100  0.27162
## elev:streamdist:beers                   -1.233e-05  2.307e-05  -0.535  0.59306
## streamdist:disturbLT-SEL:beers           2.255e-03  2.885e-02   0.078  0.93771
## streamdist:disturbSETTLE:beers          -8.367e-02  8.301e-02  -1.008  0.31383
## streamdist:disturbVIRGIN:beers          -1.401e-01  5.133e-02  -2.730  0.00649
## tci:streamdist:beers                    -6.927e-03  4.313e-03  -1.606  0.10875
## elev:tci:streamdist:disturbLT-SEL       -3.806e-06  5.385e-06  -0.707  0.47991
## elev:tci:streamdist:disturbSETTLE       -2.740e-07  1.696e-05  -0.016  0.98711
## elev:tci:streamdist:disturbVIRGIN        1.898e-05  8.480e-06   2.238  0.02554
## elev:tci:disturbLT-SEL:beers            -1.319e-03  1.108e-03  -1.190  0.23441
## elev:tci:disturbSETTLE:beers             7.062e-04  2.956e-03   0.239  0.81124
## elev:tci:disturbVIRGIN:beers             1.944e-03  2.429e-03   0.800  0.42385
## elev:streamdist:disturbLT-SEL:beers     -1.405e-05  2.847e-05  -0.493  0.62195
## elev:streamdist:disturbSETTLE:beers      7.854e-05  1.347e-04   0.583  0.56006
## elev:streamdist:disturbVIRGIN:beers      9.169e-05  4.156e-05   2.206  0.02772
## elev:tci:streamdist:beers                4.827e-06  3.951e-06   1.222  0.22220
## tci:streamdist:disturbLT-SEL:beers       1.938e-03  5.075e-03   0.382  0.70262
## tci:streamdist:disturbSETTLE:beers       1.604e-02  1.478e-02   1.086  0.27804
## tci:streamdist:disturbVIRGIN:beers       2.708e-02  9.361e-03   2.893  0.00394
## elev:tci:streamdist:disturbLT-SEL:beers -8.189e-07  4.946e-06  -0.166  0.86854
## elev:tci:streamdist:disturbSETTLE:beers -1.631e-05  2.413e-05  -0.676  0.49949
## elev:tci:streamdist:disturbVIRGIN:beers -1.875e-05  7.620e-06  -2.461  0.01413
##                                           
## (Intercept)                               
## elev                                      
## tci                                       
## streamdist                                
## disturbLT-SEL                             
## disturbSETTLE                             
## disturbVIRGIN                             
## beers                                     
## elev:disturbLT-SEL                        
## elev:disturbSETTLE                        
## elev:disturbVIRGIN                        
## elev:tci                                  
## tci:disturbLT-SEL                         
## tci:disturbSETTLE                         
## tci:disturbVIRGIN                         
## elev:streamdist                           
## streamdist:disturbLT-SEL                  
## streamdist:disturbSETTLE                  
## streamdist:disturbVIRGIN                * 
## tci:streamdist                            
## elev:beers                                
## disturbLT-SEL:beers                       
## disturbSETTLE:beers                       
## disturbVIRGIN:beers                       
## tci:beers                                 
## streamdist:beers                          
## elev:tci:disturbLT-SEL                    
## elev:tci:disturbSETTLE                    
## elev:tci:disturbVIRGIN                    
## elev:streamdist:disturbLT-SEL             
## elev:streamdist:disturbSETTLE             
## elev:streamdist:disturbVIRGIN           * 
## elev:tci:streamdist                       
## tci:streamdist:disturbLT-SEL              
## tci:streamdist:disturbSETTLE              
## tci:streamdist:disturbVIRGIN            * 
## elev:disturbLT-SEL:beers                  
## elev:disturbSETTLE:beers                  
## elev:disturbVIRGIN:beers                  
## elev:tci:beers                            
## tci:disturbLT-SEL:beers                   
## tci:disturbSETTLE:beers                   
## tci:disturbVIRGIN:beers                   
## elev:streamdist:beers                     
## streamdist:disturbLT-SEL:beers            
## streamdist:disturbSETTLE:beers            
## streamdist:disturbVIRGIN:beers          **
## tci:streamdist:beers                      
## elev:tci:streamdist:disturbLT-SEL         
## elev:tci:streamdist:disturbSETTLE         
## elev:tci:streamdist:disturbVIRGIN       * 
## elev:tci:disturbLT-SEL:beers              
## elev:tci:disturbSETTLE:beers              
## elev:tci:disturbVIRGIN:beers              
## elev:streamdist:disturbLT-SEL:beers       
## elev:streamdist:disturbSETTLE:beers       
## elev:streamdist:disturbVIRGIN:beers     * 
## elev:tci:streamdist:beers                 
## tci:streamdist:disturbLT-SEL:beers        
## tci:streamdist:disturbSETTLE:beers        
## tci:streamdist:disturbVIRGIN:beers      **
## elev:tci:streamdist:disturbLT-SEL:beers   
## elev:tci:streamdist:disturbSETTLE:beers   
## elev:tci:streamdist:disturbVIRGIN:beers * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.382 on 665 degrees of freedom
## Multiple R-squared:  0.3116, Adjusted R-squared:  0.2464 
## F-statistic: 4.778 on 63 and 665 DF,  p-value: < 2.2e-16
# also comparing the anova outputs and AIC values
anova(all_mod_acersubset, full_mod_acersubset)
## Analysis of Variance Table
## 
## Model 1: cover ~ elev + tci + streamdist + disturb + beers
## Model 2: cover ~ elev + tci + streamdist + disturb + beers + elev:disturb + 
##     elev:tci + tci:disturb + elev:streamdist + streamdist:disturb + 
##     tci:streamdist + elev:beers + disturb:beers + tci:beers + 
##     streamdist:beers + elev:tci:disturb + elev:streamdist:disturb + 
##     elev:tci:streamdist + tci:streamdist:disturb + elev:disturb:beers + 
##     elev:tci:beers + tci:disturb:beers + elev:streamdist:beers + 
##     streamdist:disturb:beers + tci:streamdist:beers + elev:tci:streamdist:disturb + 
##     elev:tci:disturb:beers + elev:streamdist:disturb:beers + 
##     elev:tci:streamdist:beers + tci:streamdist:disturb:beers + 
##     elev:tci:streamdist:disturb:beers
##   Res.Df    RSS Df Sum of Sq      F    Pr(>F)    
## 1    721 4455.6                                  
## 2    665 3771.9 56    683.66 2.1523 5.567e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
AIC(full_mod_acersubset)
## [1] 3397.041
AIC(all_mod_acersubset)
## [1] 3406.473
AIC(elev_interaction_mod_acersubset)
## [1] 3381.716
# this makes it absurdly long, but it does increase the r-squared... however it is very hard to explain all of those interactions so it also would not be very realistic to present this to an audience without being able to describe the interactions you are presenting.

remove abies outlier in tci and elevation

# identify(abies$cover ~ abies$tci)
# identify(abies$cover ~ abies$elevation)

abies_subset = abies[-c(121,33,109,56,53), ]
# note... outliers 109, 56, 53 # note... removed due to work further in assignment not tci or elevation outliers
dim(abies_subset)
## [1] 729   6
# comparing the main models of original and subset
all_mod_abiessubset = lm(cover ~ elev + tci + streamdist + disturb + beers, data = abies_subset)
summary(all_mod_abiessubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers, 
##     data = abies_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.3929 -0.4124 -0.0264  0.2104  7.1079 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   -1.4732966  0.1848922  -7.968 6.28e-15 ***
## elev           0.0012176  0.0001205  10.101  < 2e-16 ***
## tci            0.0248990  0.0164388   1.515 0.130300    
## streamdist     0.0004951  0.0002006   2.469 0.013794 *  
## disturbLT-SEL  0.2892553  0.0900281   3.213 0.001372 ** 
## disturbSETTLE  0.4916583  0.1263228   3.892 0.000109 ***
## disturbVIRGIN  0.5322089  0.1031034   5.162 3.16e-07 ***
## beers         -0.0508746  0.0485167  -1.049 0.294714    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8748 on 721 degrees of freedom
## Multiple R-squared:  0.2389, Adjusted R-squared:  0.2315 
## F-statistic: 32.33 on 7 and 721 DF,  p-value: < 2.2e-16
summary(all_mod_abies)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers, 
##     data = abies)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.5809 -0.4502 -0.0420  0.2346  6.9968 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   -1.5705179  0.1871566  -8.391 2.50e-16 ***
## elev           0.0013315  0.0001237  10.764  < 2e-16 ***
## tci            0.0255969  0.0162231   1.578 0.115046    
## streamdist     0.0004553  0.0002101   2.167 0.030574 *  
## disturbLT-SEL  0.3248142  0.0941853   3.449 0.000596 ***
## disturbSETTLE  0.5408814  0.1311418   4.124 4.15e-05 ***
## disturbVIRGIN  0.5584644  0.1082404   5.159 3.20e-07 ***
## beers         -0.0675883  0.0508326  -1.330 0.184059    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9203 on 726 degrees of freedom
## Multiple R-squared:  0.2478, Adjusted R-squared:  0.2406 
## F-statistic: 34.17 on 7 and 726 DF,  p-value: < 2.2e-16
# abies with interaction, full and elevation----
full_mod_abiessubset = update(all_mod_abiessubset, ~ . + elev * disturb * tci * streamdist * beers)
elev_interaction_mod_abiessubset = lm(cover ~ elev + tci + streamdist + disturb + beers + elev * tci + elev * beers + elev * streamdist + elev * disturb, data = abies_subset)

summary(all_mod_abiessubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers, 
##     data = abies_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.3929 -0.4124 -0.0264  0.2104  7.1079 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   -1.4732966  0.1848922  -7.968 6.28e-15 ***
## elev           0.0012176  0.0001205  10.101  < 2e-16 ***
## tci            0.0248990  0.0164388   1.515 0.130300    
## streamdist     0.0004951  0.0002006   2.469 0.013794 *  
## disturbLT-SEL  0.2892553  0.0900281   3.213 0.001372 ** 
## disturbSETTLE  0.4916583  0.1263228   3.892 0.000109 ***
## disturbVIRGIN  0.5322089  0.1031034   5.162 3.16e-07 ***
## beers         -0.0508746  0.0485167  -1.049 0.294714    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8748 on 721 degrees of freedom
## Multiple R-squared:  0.2389, Adjusted R-squared:  0.2315 
## F-statistic: 32.33 on 7 and 721 DF,  p-value: < 2.2e-16
summary(elev_interaction_mod_abiessubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     data = abies_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.9980 -0.0890 -0.0034  0.0634  4.0424 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         9.227e-01  3.061e-01   3.014  0.00267 ** 
## elev               -1.041e-03  3.190e-04  -3.265  0.00115 ** 
## tci                -6.301e-02  3.366e-02  -1.872  0.06160 .  
## streamdist         -2.079e-03  3.569e-04  -5.826 8.58e-09 ***
## disturbLT-SEL      -1.318e-02  1.918e-01  -0.069  0.94523    
## disturbSETTLE      -8.173e-02  3.424e-01  -0.239  0.81139    
## disturbVIRGIN      -5.503e+00  2.789e-01 -19.732  < 2e-16 ***
## beers              -1.106e-01  9.346e-02  -1.183  0.23718    
## elev:tci            7.815e-05  3.989e-05   1.959  0.05048 .  
## elev:beers          9.327e-05  9.539e-05   0.978  0.32854    
## elev:streamdist     2.291e-06  3.519e-07   6.511 1.40e-10 ***
## elev:disturbLT-SEL -4.908e-06  1.886e-04  -0.026  0.97925    
## elev:disturbSETTLE  7.436e-05  4.786e-04   0.155  0.87657    
## elev:disturbVIRGIN  5.003e-03  2.357e-04  21.227  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5828 on 715 degrees of freedom
## Multiple R-squared:  0.665,  Adjusted R-squared:  0.6589 
## F-statistic: 109.2 on 13 and 715 DF,  p-value: < 2.2e-16
summary(full_mod_abiessubset) 
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev:disturb + elev:tci + tci:disturb + elev:streamdist + 
##     streamdist:disturb + tci:streamdist + elev:beers + disturb:beers + 
##     tci:beers + streamdist:beers + elev:tci:disturb + elev:streamdist:disturb + 
##     elev:tci:streamdist + tci:streamdist:disturb + elev:disturb:beers + 
##     elev:tci:beers + tci:disturb:beers + elev:streamdist:beers + 
##     streamdist:disturb:beers + tci:streamdist:beers + elev:tci:streamdist:disturb + 
##     elev:tci:disturb:beers + elev:streamdist:disturb:beers + 
##     elev:tci:streamdist:beers + tci:streamdist:disturb:beers + 
##     elev:tci:streamdist:disturb:beers, data = abies_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.1544 -0.0170  0.0000  0.0141  3.6775 
## 
## Coefficients:
##                                           Estimate Std. Error t value Pr(>|t|)
## (Intercept)                              5.293e-01  1.395e+00   0.379  0.70453
## elev                                    -6.010e-04  1.427e-03  -0.421  0.67373
## tci                                     -5.408e-02  1.815e-01  -0.298  0.76587
## streamdist                              -2.483e-03  5.429e-03  -0.457  0.64750
## disturbLT-SEL                           -1.080e-01  1.782e+00  -0.061  0.95167
## disturbSETTLE                           -5.293e-01  2.319e+00  -0.228  0.81949
## disturbVIRGIN                           -4.445e+00  3.463e+00  -1.284  0.19972
## beers                                   -3.399e-01  1.127e+00  -0.302  0.76294
## elev:disturbLT-SEL                      -1.554e-04  2.160e-03  -0.072  0.94265
## elev:disturbSETTLE                       6.010e-04  3.097e-03   0.194  0.84618
## elev:disturbVIRGIN                       5.074e-03  2.987e-03   1.699  0.08983
## elev:tci                                 6.396e-05  1.992e-04   0.321  0.74824
## tci:disturbLT-SEL                        1.055e-03  2.559e-01   0.004  0.99671
## tci:disturbSETTLE                        5.408e-02  2.945e-01   0.184  0.85435
## tci:disturbVIRGIN                        1.403e+00  5.712e-01   2.457  0.01427
## elev:streamdist                          2.736e-06  5.114e-06   0.535  0.59279
## streamdist:disturbLT-SEL                -1.062e-03  6.805e-03  -0.156  0.87605
## streamdist:disturbSETTLE                 2.483e-03  1.036e-02   0.240  0.81068
## streamdist:disturbVIRGIN                 3.274e-02  1.238e-02   2.644  0.00838
## tci:streamdist                           2.392e-04  7.718e-04   0.310  0.75672
## elev:beers                               3.788e-04  1.141e-03   0.332  0.74009
## disturbLT-SEL:beers                      8.209e-02  1.387e+00   0.059  0.95283
## disturbSETTLE:beers                      3.399e-01  2.396e+00   0.142  0.88721
## disturbVIRGIN:beers                      1.989e+00  3.056e+00   0.651  0.51545
## tci:beers                                3.516e-02  1.508e-01   0.233  0.81574
## streamdist:beers                         1.598e-03  4.900e-03   0.326  0.74449
## elev:tci:disturbLT-SEL                   3.179e-05  3.278e-04   0.097  0.92277
## elev:tci:disturbSETTLE                  -6.396e-05  4.074e-04  -0.157  0.87529
## elev:tci:disturbVIRGIN                  -1.285e-03  4.948e-04  -2.596  0.00963
## elev:streamdist:disturbLT-SEL            3.362e-06  7.486e-06   0.449  0.65349
## elev:streamdist:disturbSETTLE           -2.736e-06  1.479e-05  -0.185  0.85329
## elev:streamdist:disturbVIRGIN           -3.304e-05  9.839e-06  -3.358  0.00083
## elev:tci:streamdist                     -2.691e-07  7.311e-07  -0.368  0.71296
## tci:streamdist:disturbLT-SEL             2.797e-04  1.059e-03   0.264  0.79181
## tci:streamdist:disturbSETTLE            -2.392e-04  1.605e-03  -0.149  0.88158
## tci:streamdist:disturbVIRGIN            -1.114e-02  2.116e-03  -5.265 1.89e-07
## elev:disturbLT-SEL:beers                 9.436e-05  1.652e-03   0.057  0.95448
## elev:disturbSETTLE:beers                -3.788e-04  3.402e-03  -0.111  0.91137
## elev:disturbVIRGIN:beers                -1.604e-03  2.676e-03  -0.599  0.54906
## elev:tci:beers                          -4.068e-05  1.640e-04  -0.248  0.80419
## tci:disturbLT-SEL:beers                 -1.370e-03  2.030e-01  -0.007  0.99462
## tci:disturbSETTLE:beers                 -3.516e-02  3.371e-01  -0.104  0.91696
## tci:disturbVIRGIN:beers                 -7.592e-01  5.418e-01  -1.401  0.16157
## elev:streamdist:beers                   -1.719e-06  4.539e-06  -0.379  0.70499
## streamdist:disturbLT-SEL:beers          -2.982e-04  5.741e-03  -0.052  0.95859
## streamdist:disturbSETTLE:beers          -1.598e-03  1.619e-02  -0.099  0.92140
## streamdist:disturbVIRGIN:beers          -4.312e-02  1.012e-02  -4.260 2.34e-05
## tci:streamdist:beers                    -1.533e-04  8.487e-04  -0.181  0.85669
## elev:tci:streamdist:disturbLT-SEL       -6.327e-07  1.189e-06  -0.532  0.59481
## elev:tci:streamdist:disturbSETTLE        2.691e-07  2.386e-06   0.113  0.91025
## elev:tci:streamdist:disturbVIRGIN        1.003e-05  1.676e-06   5.987 3.49e-09
## elev:tci:disturbLT-SEL:beers            -2.140e-05  2.588e-04  -0.083  0.93412
## elev:tci:disturbSETTLE:beers             4.068e-05  4.839e-04   0.084  0.93303
## elev:tci:disturbVIRGIN:beers             5.890e-04  4.780e-04   1.232  0.21829
## elev:streamdist:disturbLT-SEL:beers     -8.673e-07  5.908e-06  -0.147  0.88333
## elev:streamdist:disturbSETTLE:beers      1.719e-06  2.625e-05   0.065  0.94781
## elev:streamdist:disturbVIRGIN:beers      3.654e-05  8.197e-06   4.458 9.72e-06
## elev:tci:streamdist:beers                1.685e-07  7.774e-07   0.217  0.82843
## tci:streamdist:disturbLT-SEL:beers      -3.597e-05  1.011e-03  -0.036  0.97161
## tci:streamdist:disturbSETTLE:beers       1.533e-04  2.866e-03   0.053  0.95735
## tci:streamdist:disturbVIRGIN:beers       9.458e-03  1.844e-03   5.129 3.83e-07
## elev:tci:streamdist:disturbLT-SEL:beers  2.104e-07  1.031e-06   0.204  0.83832
## elev:tci:streamdist:disturbSETTLE:beers -1.685e-07  4.672e-06  -0.036  0.97123
## elev:tci:streamdist:disturbVIRGIN:beers -7.922e-06  1.501e-06  -5.277 1.78e-07
##                                            
## (Intercept)                                
## elev                                       
## tci                                        
## streamdist                                 
## disturbLT-SEL                              
## disturbSETTLE                              
## disturbVIRGIN                              
## beers                                      
## elev:disturbLT-SEL                         
## elev:disturbSETTLE                         
## elev:disturbVIRGIN                      .  
## elev:tci                                   
## tci:disturbLT-SEL                          
## tci:disturbSETTLE                          
## tci:disturbVIRGIN                       *  
## elev:streamdist                            
## streamdist:disturbLT-SEL                   
## streamdist:disturbSETTLE                   
## streamdist:disturbVIRGIN                ** 
## tci:streamdist                             
## elev:beers                                 
## disturbLT-SEL:beers                        
## disturbSETTLE:beers                        
## disturbVIRGIN:beers                        
## tci:beers                                  
## streamdist:beers                           
## elev:tci:disturbLT-SEL                     
## elev:tci:disturbSETTLE                     
## elev:tci:disturbVIRGIN                  ** 
## elev:streamdist:disturbLT-SEL              
## elev:streamdist:disturbSETTLE              
## elev:streamdist:disturbVIRGIN           ***
## elev:tci:streamdist                        
## tci:streamdist:disturbLT-SEL               
## tci:streamdist:disturbSETTLE               
## tci:streamdist:disturbVIRGIN            ***
## elev:disturbLT-SEL:beers                   
## elev:disturbSETTLE:beers                   
## elev:disturbVIRGIN:beers                   
## elev:tci:beers                             
## tci:disturbLT-SEL:beers                    
## tci:disturbSETTLE:beers                    
## tci:disturbVIRGIN:beers                    
## elev:streamdist:beers                      
## streamdist:disturbLT-SEL:beers             
## streamdist:disturbSETTLE:beers             
## streamdist:disturbVIRGIN:beers          ***
## tci:streamdist:beers                       
## elev:tci:streamdist:disturbLT-SEL          
## elev:tci:streamdist:disturbSETTLE          
## elev:tci:streamdist:disturbVIRGIN       ***
## elev:tci:disturbLT-SEL:beers               
## elev:tci:disturbSETTLE:beers               
## elev:tci:disturbVIRGIN:beers               
## elev:streamdist:disturbLT-SEL:beers        
## elev:streamdist:disturbSETTLE:beers        
## elev:streamdist:disturbVIRGIN:beers     ***
## elev:tci:streamdist:beers                  
## tci:streamdist:disturbLT-SEL:beers         
## tci:streamdist:disturbSETTLE:beers         
## tci:streamdist:disturbVIRGIN:beers      ***
## elev:tci:streamdist:disturbLT-SEL:beers    
## elev:tci:streamdist:disturbSETTLE:beers    
## elev:tci:streamdist:disturbVIRGIN:beers ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4686 on 665 degrees of freedom
## Multiple R-squared:  0.7985, Adjusted R-squared:  0.7794 
## F-statistic: 41.84 on 63 and 665 DF,  p-value: < 2.2e-16
# interaction had an even larger effect on the abies distributions
# this could be attributed to overfitting however

Poisson calculation start—- assume all poisson calculations are done using the subsets with outliers removed

summary(elev_interaction_mod_abiessubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     data = abies_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.9980 -0.0890 -0.0034  0.0634  4.0424 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         9.227e-01  3.061e-01   3.014  0.00267 ** 
## elev               -1.041e-03  3.190e-04  -3.265  0.00115 ** 
## tci                -6.301e-02  3.366e-02  -1.872  0.06160 .  
## streamdist         -2.079e-03  3.569e-04  -5.826 8.58e-09 ***
## disturbLT-SEL      -1.318e-02  1.918e-01  -0.069  0.94523    
## disturbSETTLE      -8.173e-02  3.424e-01  -0.239  0.81139    
## disturbVIRGIN      -5.503e+00  2.789e-01 -19.732  < 2e-16 ***
## beers              -1.106e-01  9.346e-02  -1.183  0.23718    
## elev:tci            7.815e-05  3.989e-05   1.959  0.05048 .  
## elev:beers          9.327e-05  9.539e-05   0.978  0.32854    
## elev:streamdist     2.291e-06  3.519e-07   6.511 1.40e-10 ***
## elev:disturbLT-SEL -4.908e-06  1.886e-04  -0.026  0.97925    
## elev:disturbSETTLE  7.436e-05  4.786e-04   0.155  0.87657    
## elev:disturbVIRGIN  5.003e-03  2.357e-04  21.227  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5828 on 715 degrees of freedom
## Multiple R-squared:  0.665,  Adjusted R-squared:  0.6589 
## F-statistic: 109.2 on 13 and 715 DF,  p-value: < 2.2e-16
summary(elev_interaction_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.2920 -1.7988  0.2311  1.8044  6.6561 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         3.289e+00  1.330e+00   2.473  0.01363 *  
## elev                2.685e-03  1.351e-03   1.988  0.04718 *  
## tci                 2.998e-01  1.463e-01   2.050  0.04074 *  
## streamdist          2.009e-03  1.566e-03   1.283  0.19988    
## disturbLT-SEL       1.289e+00  8.008e-01   1.609  0.10803    
## disturbSETTLE       1.529e-01  1.483e+00   0.103  0.91788    
## disturbVIRGIN       4.687e+00  1.163e+00   4.032 6.13e-05 ***
## beers               3.922e-01  3.913e-01   1.002  0.31663    
## elev:tci           -5.754e-04  1.653e-04  -3.481  0.00053 ***
## elev:beers         -9.180e-04  3.987e-04  -2.303  0.02158 *  
## elev:streamdist    -1.013e-06  1.513e-06  -0.669  0.50348    
## elev:disturbLT-SEL -1.489e-03  7.837e-04  -1.901  0.05776 .  
## elev:disturbSETTLE -5.309e-04  2.105e-03  -0.252  0.80094    
## elev:disturbVIRGIN -4.234e-03  9.815e-04  -4.314 1.83e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.434 on 715 degrees of freedom
## Multiple R-squared:  0.2268, Adjusted R-squared:  0.2127 
## F-statistic: 16.13 on 13 and 715 DF,  p-value: < 2.2e-16
# poisson individual variables acer
elev_mod_acer_poi = glm(cover ~ elev, data = acer_subset, family = "poisson")
tci_mod_acer_poi = glm(cover ~ tci, data = acer_subset, family = "poisson")
streamdist_mod_acer_poi = glm(cover ~ streamdist, data = acer_subset, family = "poisson")
disturb_mod_acer_poi = glm(cover ~ disturb, data = acer_subset, family = "poisson")
beers_mod_acer_poi = glm(cover ~ beers, data = acer_subset, family = "poisson")

# poisson individual variables abies 
elev_mod_abies_poi = glm(cover ~ elev, data = abies_subset, family = "poisson")
tci_mod_abies_poi = glm(cover ~ tci, data = abies_subset, family = "poisson")
streamdist_mod_abies_poi = glm(cover ~ streamdist, data = abies_subset, family = "poisson")
disturb_mod_abies_poi = glm(cover ~ disturb, data = abies_subset, family = "poisson")
beers_mod_abies_poi = glm(cover ~ beers, data = abies_subset, family = "poisson")

# summaries of individual poisson models
# abies
summary(elev_mod_abies_poi)
## 
## Call:
## glm(formula = cover ~ elev, family = "poisson", data = abies_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.0538  -0.1707  -0.0452  -0.0170   3.7573  
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -1.412e+01  8.742e-01  -16.15   <2e-16 ***
## elev         8.410e-03  4.723e-04   17.81   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 859.101  on 728  degrees of freedom
## Residual deviance:  94.759  on 727  degrees of freedom
## AIC: 177.53
## 
## Number of Fisher Scoring iterations: 7
summary(tci_mod_abies_poi)
## 
## Call:
## glm(formula = cover ~ tci, family = "poisson", data = abies_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.6644  -0.6054  -0.5831  -0.5508   7.5677  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -1.26314    0.31053  -4.068 4.75e-05 ***
## tci         -0.09491    0.05436  -1.746   0.0808 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 859.10  on 728  degrees of freedom
## Residual deviance: 855.64  on 727  degrees of freedom
## AIC: 938.41
## 
## Number of Fisher Scoring iterations: 7
summary(streamdist_mod_abies_poi)
## 
## Call:
## glm(formula = cover ~ streamdist, family = "poisson", data = abies_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.9769  -0.5653  -0.3938  -0.2817   6.8156  
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -3.5650557  0.1989483  -17.92   <2e-16 ***
## streamdist   0.0052780  0.0003806   13.87   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 859.10  on 728  degrees of freedom
## Residual deviance: 693.33  on 727  degrees of freedom
## AIC: 776.1
## 
## Number of Fisher Scoring iterations: 7
summary(disturb_mod_abies_poi)
## 
## Call:
## glm(formula = cover ~ disturb, family = "poisson", data = abies_subset)
## 
## Deviance Residuals: 
##    Min      1Q  Median      3Q     Max  
## -1.257  -0.133  -0.133  -0.114   5.383  
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)    
## (Intercept)    -5.0370     1.0000  -5.037 4.73e-07 ***
## disturbLT-SEL   0.3096     1.1547   0.268    0.789    
## disturbSETTLE -13.2656   609.4918  -0.022    0.983    
## disturbVIRGIN   4.8019     1.0043   4.782 1.74e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 859.10  on 728  degrees of freedom
## Residual deviance: 517.93  on 725  degrees of freedom
## AIC: 604.7
## 
## Number of Fisher Scoring iterations: 16
summary(beers_mod_abies_poi)
## 
## Call:
## glm(formula = cover ~ beers, family = "poisson", data = abies_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.6128  -0.6023  -0.5764  -0.5457   7.3627  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  -1.9549     0.1790 -10.923   <2e-16 ***
## beers         0.1411     0.1329   1.062    0.288    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 859.10  on 728  degrees of freedom
## Residual deviance: 857.96  on 727  degrees of freedom
## AIC: 940.73
## 
## Number of Fisher Scoring iterations: 7
# acer
summary(elev_mod_acer_poi)
## 
## Call:
## glm(formula = cover ~ elev, family = "poisson", data = acer_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.3180  -1.4269   0.0776   0.8797   3.0522  
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  2.123e+00  5.242e-02   40.50   <2e-16 ***
## elev        -8.131e-04  5.796e-05  -14.03   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 1900.4  on 728  degrees of freedom
## Residual deviance: 1690.7  on 727  degrees of freedom
## AIC: 3655.3
## 
## Number of Fisher Scoring iterations: 5
summary(tci_mod_acer_poi)
## 
## Call:
## glm(formula = cover ~ tci, family = "poisson", data = acer_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.9558  -1.2337   0.3618   0.9046   2.6563  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  1.57196    0.05973  26.317  < 2e-16 ***
## tci         -0.03034    0.01006  -3.017  0.00255 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 1900.4  on 728  degrees of freedom
## Residual deviance: 1891.0  on 727  degrees of freedom
## AIC: 3855.6
## 
## Number of Fisher Scoring iterations: 5
summary(streamdist_mod_acer_poi)
## 
## Call:
## glm(formula = cover ~ streamdist, family = "poisson", data = acer_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.9434  -1.2483   0.3276   0.9397   2.5542  
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  1.4659546  0.0299693  48.915  < 2e-16 ***
## streamdist  -0.0002984  0.0001074  -2.779  0.00546 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 1900.4  on 728  degrees of freedom
## Residual deviance: 1892.6  on 727  degrees of freedom
## AIC: 3857.2
## 
## Number of Fisher Scoring iterations: 5
summary(disturb_mod_acer_poi)
## 
## Call:
## glm(formula = cover ~ disturb, family = "poisson", data = acer_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.0057  -1.3325   0.3067   0.8957   3.1065  
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)    
## (Intercept)    1.40240    0.03997  35.088  < 2e-16 ***
## disturbLT-SEL  0.06666    0.04771   1.397    0.162    
## disturbSETTLE  0.10550    0.06436   1.639    0.101    
## disturbVIRGIN -0.27295    0.06137  -4.447 8.69e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 1900.4  on 728  degrees of freedom
## Residual deviance: 1852.1  on 725  degrees of freedom
## AIC: 3820.8
## 
## Number of Fisher Scoring iterations: 5
summary(beers_mod_acer_poi)
## 
## Call:
## glm(formula = cover ~ beers, family = "poisson", data = acer_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.0558  -1.3503   0.2107   1.0235   2.6564  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  1.54109    0.03282  46.951  < 2e-16 ***
## beers       -0.13415    0.02645  -5.072 3.94e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 1900.4  on 728  degrees of freedom
## Residual deviance: 1874.7  on 727  degrees of freedom
## AIC: 3839.4
## 
## Number of Fisher Scoring iterations: 5

poisson with elevation interaction only—-

abies_poi = glm(cover ~ elev + tci + streamdist + disturb + beers + elev * tci + elev * beers + elev * streamdist + elev * disturb, data = abies_subset, 
                family='poisson')
## Warning: glm.fit: fitted rates numerically 0 occurred
acer_poi = glm(cover ~ elev + tci + streamdist + disturb + beers + elev * tci + elev * beers + elev * streamdist + elev * disturb, data = acer_subset, 
               family='poisson')

summary(abies_poi)
## 
## Call:
## glm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     family = "poisson", data = abies_subset)
## 
## Deviance Residuals: 
##    Min      1Q  Median      3Q     Max  
## -1.557   0.000   0.000   0.000   2.593  
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)
## (Intercept)        -2.723e+02  7.315e+04  -0.004    0.997
## elev                1.643e-01  4.407e+01   0.004    0.997
## tci                -1.342e+00  1.028e+00  -1.306    0.192
## streamdist          2.183e-03  5.794e-03   0.377    0.706
## disturbLT-SEL      -1.200e+02  8.617e+04  -0.001    0.999
## disturbSETTLE       2.514e+02  1.681e+05   0.001    0.999
## disturbVIRGIN       2.638e+02  7.315e+04   0.004    0.997
## beers               1.647e+00  1.677e+00   0.982    0.326
## elev:tci            8.249e-04  5.568e-04   1.482    0.138
## elev:beers         -8.460e-04  9.177e-04  -0.922    0.357
## elev:streamdist    -2.227e-06  3.192e-06  -0.698    0.485
## elev:disturbLT-SEL  6.422e-02  5.139e+01   0.001    0.999
## elev:disturbSETTLE -1.681e-01  2.392e+02  -0.001    0.999
## elev:disturbVIRGIN -1.590e-01  4.407e+01  -0.004    0.997
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 859.101  on 728  degrees of freedom
## Residual deviance:  47.814  on 715  degrees of freedom
## AIC: 154.58
## 
## Number of Fisher Scoring iterations: 24
summary(acer_poi)
## 
## Call:
## glm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     family = "poisson", data = acer_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.2861  -1.2305  -0.0065   0.8162   3.0984  
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)         7.225e-01  2.701e-01   2.675  0.00748 ** 
## elev                1.330e-03  3.011e-04   4.416 1.01e-05 ***
## tci                 1.272e-01  3.136e-02   4.056 5.00e-05 ***
## streamdist          8.388e-04  3.181e-04   2.637  0.00836 ** 
## disturbLT-SEL       2.910e-01  1.559e-01   1.867  0.06188 .  
## disturbSETTLE       5.601e-02  2.899e-01   0.193  0.84677    
## disturbVIRGIN       2.269e+00  2.837e-01   7.997 1.27e-15 ***
## beers               2.006e-01  8.131e-02   2.467  0.01363 *  
## elev:tci           -2.235e-04  3.972e-05  -5.627 1.83e-08 ***
## elev:beers         -3.535e-04  9.061e-05  -3.901 9.57e-05 ***
## elev:streamdist    -7.184e-07  3.575e-07  -2.010  0.04448 *  
## elev:disturbLT-SEL -3.410e-04  1.614e-04  -2.113  0.03463 *  
## elev:disturbSETTLE -1.380e-04  4.181e-04  -0.330  0.74143    
## elev:disturbVIRGIN -2.125e-03  2.599e-04  -8.176 2.94e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 1900.4  on 728  degrees of freedom
## Residual deviance: 1510.2  on 715  degrees of freedom
## AIC: 3498.9
## 
## Number of Fisher Scoring iterations: 6

pseudo r ^2

pseudo_r2 = function(glm_mod) {
  1 -  glm_mod$deviance / glm_mod$null.deviance
}
# comparing poisson with equivalent OLS----
summary(abies_poi)
## 
## Call:
## glm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     family = "poisson", data = abies_subset)
## 
## Deviance Residuals: 
##    Min      1Q  Median      3Q     Max  
## -1.557   0.000   0.000   0.000   2.593  
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)
## (Intercept)        -2.723e+02  7.315e+04  -0.004    0.997
## elev                1.643e-01  4.407e+01   0.004    0.997
## tci                -1.342e+00  1.028e+00  -1.306    0.192
## streamdist          2.183e-03  5.794e-03   0.377    0.706
## disturbLT-SEL      -1.200e+02  8.617e+04  -0.001    0.999
## disturbSETTLE       2.514e+02  1.681e+05   0.001    0.999
## disturbVIRGIN       2.638e+02  7.315e+04   0.004    0.997
## beers               1.647e+00  1.677e+00   0.982    0.326
## elev:tci            8.249e-04  5.568e-04   1.482    0.138
## elev:beers         -8.460e-04  9.177e-04  -0.922    0.357
## elev:streamdist    -2.227e-06  3.192e-06  -0.698    0.485
## elev:disturbLT-SEL  6.422e-02  5.139e+01   0.001    0.999
## elev:disturbSETTLE -1.681e-01  2.392e+02  -0.001    0.999
## elev:disturbVIRGIN -1.590e-01  4.407e+01  -0.004    0.997
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 859.101  on 728  degrees of freedom
## Residual deviance:  47.814  on 715  degrees of freedom
## AIC: 154.58
## 
## Number of Fisher Scoring iterations: 24
summary(elev_interaction_mod_abiessubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     data = abies_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.9980 -0.0890 -0.0034  0.0634  4.0424 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         9.227e-01  3.061e-01   3.014  0.00267 ** 
## elev               -1.041e-03  3.190e-04  -3.265  0.00115 ** 
## tci                -6.301e-02  3.366e-02  -1.872  0.06160 .  
## streamdist         -2.079e-03  3.569e-04  -5.826 8.58e-09 ***
## disturbLT-SEL      -1.318e-02  1.918e-01  -0.069  0.94523    
## disturbSETTLE      -8.173e-02  3.424e-01  -0.239  0.81139    
## disturbVIRGIN      -5.503e+00  2.789e-01 -19.732  < 2e-16 ***
## beers              -1.106e-01  9.346e-02  -1.183  0.23718    
## elev:tci            7.815e-05  3.989e-05   1.959  0.05048 .  
## elev:beers          9.327e-05  9.539e-05   0.978  0.32854    
## elev:streamdist     2.291e-06  3.519e-07   6.511 1.40e-10 ***
## elev:disturbLT-SEL -4.908e-06  1.886e-04  -0.026  0.97925    
## elev:disturbSETTLE  7.436e-05  4.786e-04   0.155  0.87657    
## elev:disturbVIRGIN  5.003e-03  2.357e-04  21.227  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5828 on 715 degrees of freedom
## Multiple R-squared:  0.665,  Adjusted R-squared:  0.6589 
## F-statistic: 109.2 on 13 and 715 DF,  p-value: < 2.2e-16
pseudo_r2(abies_poi)
## [1] 0.9443436
summary(acer_poi)
## 
## Call:
## glm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     family = "poisson", data = acer_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.2861  -1.2305  -0.0065   0.8162   3.0984  
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)         7.225e-01  2.701e-01   2.675  0.00748 ** 
## elev                1.330e-03  3.011e-04   4.416 1.01e-05 ***
## tci                 1.272e-01  3.136e-02   4.056 5.00e-05 ***
## streamdist          8.388e-04  3.181e-04   2.637  0.00836 ** 
## disturbLT-SEL       2.910e-01  1.559e-01   1.867  0.06188 .  
## disturbSETTLE       5.601e-02  2.899e-01   0.193  0.84677    
## disturbVIRGIN       2.269e+00  2.837e-01   7.997 1.27e-15 ***
## beers               2.006e-01  8.131e-02   2.467  0.01363 *  
## elev:tci           -2.235e-04  3.972e-05  -5.627 1.83e-08 ***
## elev:beers         -3.535e-04  9.061e-05  -3.901 9.57e-05 ***
## elev:streamdist    -7.184e-07  3.575e-07  -2.010  0.04448 *  
## elev:disturbLT-SEL -3.410e-04  1.614e-04  -2.113  0.03463 *  
## elev:disturbSETTLE -1.380e-04  4.181e-04  -0.330  0.74143    
## elev:disturbVIRGIN -2.125e-03  2.599e-04  -8.176 2.94e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 1900.4  on 728  degrees of freedom
## Residual deviance: 1510.2  on 715  degrees of freedom
## AIC: 3498.9
## 
## Number of Fisher Scoring iterations: 6
summary(elev_interaction_mod_acersubset)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * streamdist + elev * disturb, 
##     data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.2920 -1.7988  0.2311  1.8044  6.6561 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         3.289e+00  1.330e+00   2.473  0.01363 *  
## elev                2.685e-03  1.351e-03   1.988  0.04718 *  
## tci                 2.998e-01  1.463e-01   2.050  0.04074 *  
## streamdist          2.009e-03  1.566e-03   1.283  0.19988    
## disturbLT-SEL       1.289e+00  8.008e-01   1.609  0.10803    
## disturbSETTLE       1.529e-01  1.483e+00   0.103  0.91788    
## disturbVIRGIN       4.687e+00  1.163e+00   4.032 6.13e-05 ***
## beers               3.922e-01  3.913e-01   1.002  0.31663    
## elev:tci           -5.754e-04  1.653e-04  -3.481  0.00053 ***
## elev:beers         -9.180e-04  3.987e-04  -2.303  0.02158 *  
## elev:streamdist    -1.013e-06  1.513e-06  -0.669  0.50348    
## elev:disturbLT-SEL -1.489e-03  7.837e-04  -1.901  0.05776 .  
## elev:disturbSETTLE -5.309e-04  2.105e-03  -0.252  0.80094    
## elev:disturbVIRGIN -4.234e-03  9.815e-04  -4.314 1.83e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.434 on 715 degrees of freedom
## Multiple R-squared:  0.2268, Adjusted R-squared:  0.2127 
## F-statistic: 16.13 on 13 and 715 DF,  p-value: < 2.2e-16
pseudo_r2(acer_poi)
## [1] 0.2052998
# comparing with anova
Anova(abies_poi, type=3)
## Warning: glm.fit: fitted rates numerically 0 occurred

## Warning: glm.fit: fitted rates numerically 0 occurred

## Warning: glm.fit: fitted rates numerically 0 occurred

## Warning: glm.fit: fitted rates numerically 0 occurred

## Warning: glm.fit: fitted rates numerically 0 occurred

## Warning: glm.fit: fitted rates numerically 0 occurred

## Warning: glm.fit: fitted rates numerically 0 occurred
## Analysis of Deviance Table (Type III tests)
## 
## Response: cover
##                 LR Chisq Df Pr(>Chisq)    
## elev              7.7275  1  0.0054387 ** 
## tci               2.0302  1  0.1542028    
## streamdist        0.1416  1  0.7067055    
## disturb          18.9038  3  0.0002862 ***
## beers             0.9997  1  0.3173889    
## elev:tci          2.6835  1  0.1013951    
## elev:beers        0.8721  1  0.3503802    
## elev:streamdist   0.4894  1  0.4842143    
## elev:disturb     16.7695  3  0.0007882 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(elev_interaction_mod_abiessubset, type=3)
## Anova Table (Type III tests)
## 
## Response: cover
##                  Sum Sq  Df  F value    Pr(>F)    
## (Intercept)       3.086   1   9.0850  0.002668 ** 
## elev              3.620   1  10.6580  0.001148 ** 
## tci               1.191   1   3.5049  0.061596 .  
## streamdist       11.530   1  33.9431 8.580e-09 ***
## disturb         180.959   3 177.5766 < 2.2e-16 ***
## beers             0.475   1   1.3996  0.237182    
## elev:tci          1.304   1   3.8385  0.050478 .  
## elev:beers        0.325   1   0.9560  0.328537    
## elev:streamdist  14.401   1  42.3955 1.404e-10 ***
## elev:disturb    214.690   3 210.6762 < 2.2e-16 ***
## Residuals       242.873 715                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(acer_poi, type=3)
## Analysis of Deviance Table (Type III tests)
## 
## Response: cover
##                 LR Chisq Df Pr(>Chisq)    
## elev              19.317  1  1.107e-05 ***
## tci               16.063  1  6.127e-05 ***
## streamdist         6.859  1    0.00882 ** 
## disturb           70.800  3  2.877e-15 ***
## beers              6.083  1    0.01365 *  
## elev:tci          31.864  1  1.654e-08 ***
## elev:beers        15.182  1  9.762e-05 ***
## elev:streamdist    4.048  1    0.04424 *  
## elev:disturb      76.350  3  < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(elev_interaction_mod_acersubset, type=3)
## Anova Table (Type III tests)
## 
## Response: cover
##                 Sum Sq  Df F value    Pr(>F)    
## (Intercept)       36.2   1  6.1161 0.0136273 *  
## elev              23.4   1  3.9528 0.0471751 *  
## tci               24.9   1  4.2018 0.0407449 *  
## streamdist         9.8   1  1.6463 0.1998845    
## disturb          101.8   3  5.7284 0.0007088 ***
## beers              6.0   1  1.0042 0.3166328    
## elev:tci          71.8   1 12.1161 0.0005302 ***
## elev:beers        31.4   1  5.3025 0.0215814 *  
## elev:streamdist    2.7   1  0.4480 0.5034835    
## elev:disturb     112.5   3  6.3301 0.0003071 ***
## Residuals       4236.5 715                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# poisson might be better at estimating abies, but not acer based on the pseudo
# r squared values

checking plots of the elevation interaction model and removing more outliers—

par(mfrow = c(2,2))
plot(elev_interaction_mod_abiessubset)

# remove a few more outliers
# take out 56, 109,53  from abies subset
plot(elev_interaction_mod_acersubset)

# take out 56 , 187 from acer

semifinal models to use:

elev_interaction_mod_acersubset elev_interaction_mod_abiessubset abies_poi (only includes elevation interaction) acer_poi (only includes elevation interaction)

Next, using stepAIC to check these semifinal models and decide if any variables can be removed—-

stepAIC(elev_interaction_mod_abiessubset)
## Start:  AIC=-773.27
## cover ~ elev + tci + streamdist + disturb + beers + elev * tci + 
##     elev * beers + elev * streamdist + elev * disturb
## 
##                   Df Sum of Sq    RSS     AIC
## - elev:beers       1     0.325 243.20 -774.29
## <none>                         242.87 -773.27
## - elev:tci         1     1.304 244.18 -771.36
## - elev:streamdist  1    14.401 257.27 -733.28
## - elev:disturb     3   214.690 457.56 -317.54
## 
## Step:  AIC=-774.29
## cover ~ elev + tci + streamdist + disturb + beers + elev:tci + 
##     elev:streamdist + elev:disturb
## 
##                   Df Sum of Sq    RSS     AIC
## - beers            1     0.198 243.40 -775.70
## <none>                         243.20 -774.29
## - elev:tci         1     1.085 244.28 -773.05
## - elev:streamdist  1    14.464 257.66 -734.18
## - elev:disturb     3   214.366 457.56 -319.54
## 
## Step:  AIC=-775.7
## cover ~ elev + tci + streamdist + disturb + elev:tci + elev:streamdist + 
##     elev:disturb
## 
##                   Df Sum of Sq    RSS     AIC
## <none>                         243.40 -775.70
## - elev:tci         1     1.159 244.56 -774.24
## - elev:streamdist  1    14.353 257.75 -735.93
## - elev:disturb     3   215.637 459.03 -319.20
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + elev:tci + 
##     elev:streamdist + elev:disturb, data = abies_subset)
## 
## Coefficients:
##        (Intercept)                elev                 tci          streamdist  
##          7.781e-01          -9.136e-04          -5.731e-02          -2.063e-03  
##      disturbLT-SEL       disturbSETTLE       disturbVIRGIN            elev:tci  
##         -2.418e-02          -5.790e-02          -5.510e+00           7.168e-05  
##    elev:streamdist  elev:disturbLT-SEL  elev:disturbSETTLE  elev:disturbVIRGIN  
##          2.286e-06           6.744e-06           6.001e-05           5.012e-03
# shows that it may make sense to remove elev:beers from the abies model
stepAIC(elev_interaction_mod_acersubset)
## Start:  AIC=1310.9
## cover ~ elev + tci + streamdist + disturb + beers + elev * tci + 
##     elev * beers + elev * streamdist + elev * disturb
## 
##                   Df Sum of Sq    RSS    AIC
## - elev:streamdist  1     2.655 4239.1 1309.4
## <none>                         4236.5 1310.9
## - elev:beers       1    31.418 4267.9 1314.3
## - elev:tci         1    71.789 4308.3 1321.2
## - elev:disturb     3   112.520 4349.0 1324.0
## 
## Step:  AIC=1309.36
## cover ~ elev + tci + streamdist + disturb + beers + elev:tci + 
##     elev:beers + elev:disturb
## 
##                Df Sum of Sq    RSS    AIC
## <none>                      4239.1 1309.4
## - streamdist    1    19.087 4258.2 1310.6
## - elev:beers    1    31.707 4270.8 1312.8
## - elev:tci      1    69.149 4308.3 1319.2
## - elev:disturb  3   140.826 4380.0 1327.2
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev:tci + elev:beers + elev:disturb, data = acer_subset)
## 
## Coefficients:
##        (Intercept)                elev                 tci          streamdist  
##          3.6226126           0.0023344           0.2813314           0.0010346  
##      disturbLT-SEL       disturbSETTLE       disturbVIRGIN               beers  
##          1.2807845           0.1107374           4.9106030           0.3924581  
##           elev:tci          elev:beers  elev:disturbLT-SEL  elev:disturbSETTLE  
##         -0.0005556          -0.0009221          -0.0014959          -0.0004910  
## elev:disturbVIRGIN  
##         -0.0044391
# shows that elevation and stream distance interaction may not be neccesarry

remodel with those taken out, models named as species_test_mod—-

#OLS
abies_test_mod = lm(cover ~ elev + tci + streamdist + disturb + elev * tci + elev * streamdist + elev * disturb, data = abies_subset)

acer_test_mod = lm(cover ~ elev + tci + streamdist + disturb + beers + elev * tci + elev * beers +  elev * disturb, data = acer_subset)
summary(abies_test_mod)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + elev * 
##     tci + elev * streamdist + elev * disturb, data = abies_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.0486 -0.0840 -0.0027  0.0643  3.9848 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         7.781e-01  2.787e-01   2.792  0.00538 ** 
## elev               -9.136e-04  2.865e-04  -3.189  0.00149 ** 
## tci                -5.731e-02  3.296e-02  -1.739  0.08245 .  
## streamdist         -2.063e-03  3.564e-04  -5.790 1.05e-08 ***
## disturbLT-SEL      -2.418e-02  1.904e-01  -0.127  0.89895    
## disturbSETTLE      -5.790e-02  3.417e-01  -0.169  0.86549    
## disturbVIRGIN      -5.510e+00  2.787e-01 -19.770  < 2e-16 ***
## elev:tci            7.168e-05  3.879e-05   1.848  0.06504 .  
## elev:streamdist     2.285e-06  3.515e-07   6.502 1.48e-10 ***
## elev:disturbLT-SEL  6.744e-06  1.858e-04   0.036  0.97106    
## elev:disturbSETTLE  6.001e-05  4.783e-04   0.125  0.90018    
## elev:disturbVIRGIN  5.012e-03  2.354e-04  21.287  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5826 on 717 degrees of freedom
## Multiple R-squared:  0.6642, Adjusted R-squared:  0.6591 
## F-statistic:   129 on 11 and 717 DF,  p-value: < 2.2e-16
summary(acer_test_mod)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * disturb, data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.2687 -1.7782  0.1818  1.8157  6.7014 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         3.6226126  1.2327860   2.939 0.003403 ** 
## elev                0.0023344  0.0012442   1.876 0.061044 .  
## tci                 0.2813314  0.1435767   1.959 0.050448 .  
## streamdist          0.0010346  0.0005762   1.796 0.072995 .  
## disturbLT-SEL       1.2807845  0.8003790   1.600 0.109990    
## disturbSETTLE       0.1107374  1.4806386   0.075 0.940402    
## disturbVIRGIN       4.9106030  1.1133143   4.411 1.19e-05 ***
## beers               0.3924581  0.3911946   1.003 0.316089    
## elev:tci           -0.0005556  0.0001626  -3.418 0.000668 ***
## elev:beers         -0.0009221  0.0003985  -2.314 0.020940 *  
## elev:disturbLT-SEL -0.0014959  0.0007833  -1.910 0.056557 .  
## elev:disturbSETTLE -0.0004910  0.0021032  -0.233 0.815474    
## elev:disturbVIRGIN -0.0044391  0.0009320  -4.763 2.31e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.433 on 716 degrees of freedom
## Multiple R-squared:  0.2263, Adjusted R-squared:  0.2133 
## F-statistic: 17.45 on 12 and 716 DF,  p-value: < 2.2e-16
#POISSON
abies_test_poi = glm(cover ~ elev + tci + streamdist + disturb + elev * tci + elev * streamdist + elev * disturb, data = abies_subset, family = "poisson")
## Warning: glm.fit: fitted rates numerically 0 occurred
acer_test_poi = glm(cover ~ elev + tci + streamdist + disturb + beers + elev * tci + elev * beers +  elev * disturb, data = acer_subset, family = "poisson")

summary(abies_test_poi)
## 
## Call:
## glm(formula = cover ~ elev + tci + streamdist + disturb + elev * 
##     tci + elev * streamdist + elev * disturb, family = "poisson", 
##     data = abies_subset)
## 
## Deviance Residuals: 
##    Min      1Q  Median      3Q     Max  
## -1.776   0.000   0.000   0.000   2.964  
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)
## (Intercept)        -2.716e+02  7.526e+04  -0.004    0.997
## elev                1.641e-01  4.534e+01   0.004    0.997
## tci                -1.472e+00  1.017e+00  -1.448    0.148
## streamdist          2.078e-03  6.013e-03   0.346    0.730
## disturbLT-SEL      -1.215e+02  8.834e+04  -0.001    0.999
## disturbSETTLE       2.537e+02  1.774e+05   0.001    0.999
## disturbVIRGIN       2.661e+02  7.526e+04   0.004    0.997
## elev:tci            8.836e-04  5.500e-04   1.607    0.108
## elev:streamdist    -2.066e-06  3.284e-06  -0.629    0.529
## elev:disturbLT-SEL  6.516e-02  5.270e+01   0.001    0.999
## elev:disturbSETTLE -1.699e-01  2.532e+02  -0.001    0.999
## elev:disturbVIRGIN -1.602e-01  4.534e+01  -0.004    0.997
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 859.101  on 728  degrees of freedom
## Residual deviance:  49.147  on 717  degrees of freedom
## AIC: 151.91
## 
## Number of Fisher Scoring iterations: 24
summary(acer_test_poi)
## 
## Call:
## glm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * disturb, family = "poisson", 
##     data = acer_subset)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.3235  -1.2653  -0.0049   0.8262   3.0623  
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)         9.451e-01  2.473e-01   3.822 0.000132 ***
## elev                1.059e-03  2.700e-04   3.923 8.76e-05 ***
## tci                 1.148e-01  3.080e-02   3.727 0.000194 ***
## streamdist          2.416e-04  1.190e-04   2.031 0.042276 *  
## disturbLT-SEL       2.939e-01  1.553e-01   1.892 0.058508 .  
## disturbSETTLE       1.831e-02  2.891e-01   0.063 0.949484    
## disturbVIRGIN       2.358e+00  2.785e-01   8.468  < 2e-16 ***
## beers               1.943e-01  8.070e-02   2.408 0.016023 *  
## elev:tci           -2.080e-04  3.899e-05  -5.335 9.55e-08 ***
## elev:beers         -3.478e-04  9.000e-05  -3.864 0.000112 ***
## elev:disturbLT-SEL -3.566e-04  1.605e-04  -2.222 0.026291 *  
## elev:disturbSETTLE -9.055e-05  4.174e-04  -0.217 0.828248    
## elev:disturbVIRGIN -2.214e-03  2.546e-04  -8.694  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 1900.4  on 728  degrees of freedom
## Residual deviance: 1514.3  on 716  degrees of freedom
## AIC: 3501
## 
## Number of Fisher Scoring iterations: 6
# the adjusted r squares show this did help
# after stepAIC abies AIC
AIC(abies_test_mod)
## [1] 1295.113
AIC(abies_test_poi)
## [1] 151.9142
# original abies AIC
AIC(elev_interaction_mod_abiessubset)
## [1] 1297.544
AIC(abies_poi)
## [1] 154.5813
# after stepAIC acer AIC
AIC(acer_test_mod)
## [1] 3380.172
AIC(acer_test_poi)
## [1] 3500.965
# original acer AIC
AIC(elev_interaction_mod_acersubset)
## [1] 3381.716
AIC(acer_poi)
## [1] 3498.917

The AIC’s also show this was helpful, so we can rename the test models as our final models to present… keeping in mind these final models are all using the subsetted data without outliers the name was just shortened final_abiessubset_model to final_abies_model and likewise with acer for easier access and readability.

final models—-

final_abies_model <- abies_test_mod
final_acer_model <- acer_test_mod
final_acer_poisson <- acer_test_poi
final_abies_poisson <- abies_test_poi

Question 1) For each species address the following additional questions:

How well does the exploratory model appear to explain cover? The OLS exploratory model explains cover well according to Acer rubrum species and less so for the Abies fraseri species due to slightly skewed distribution. However, the R^2 values of the Abies fraseri species still tended to be higher than the Acer rubrum species, most likely because the Acer rubrum is a much less habitat specialized species, it is more of a generalist and thus less likely to explain using variables.

Which explanatory variables are the most important? The most important explanatory value seems to be elevation in this data set, also used as a determinant of temperature/climate and thus having the most significant effect on cover of each species. Disturbance also plays an important role as an explanatory variable for distribution data. Especially when it comes to the abies species, elevation is extremely important as they do not survive in warm temperatures.

Do model diagnostics indicate any problems with violations of OLS assumptions? answered later in this document.

Are you able to explain variance in one species better than another, why might this be the case? Variance can be better explained in the Acer species. This might be the case because of the species of tree - these trees are much more evenly distributed and common throughout geographic locations in comparison to Abies which are more limited by what areas they proliferate within and can grow in. Abies also have more history of logging as a form of disturbance which causes this variable to have a more skewed effect on the distribution as well rather than an even variance. The Acer species on the other hand is much more normally distributed.

Questions number 2) Compare your qualatative assessment of which variables were most important in each model. Does it appear that changing the error distribution changed the results much? In what ways? and number 1) part “do model diagnostics indicate any problems with violations of OLS assumptions?”—-

new model to prove number one with the abies species.

abies_elev_poi = glm(cover ~ elev, data= abies_subset, family="poisson")
# also using elev_interaction_mod_abiessubset = lm(cover ~ elev, data= abies_subset)

When comparing the plots below it will confirm suspicions from the previously analyzed data that the Poisson distribution is a better fit for the abies species, and this is most likely due to the highly skewed elevation data. Since it can be seen in the original (cover ~ elevation) plot for abies, that the data is highly concentrated around 0 coverage until an elevation of 1500, where the trend turns visually turns into a positive correlation between elevation and abies cover.

par(mfrow=c(1,1))
plot(cover ~ elev, data= abies_subset)

This can be explained by the fact that the abies species are fraisir firs and they are highly selective on their habitat condition, they must be further north, or high in elevation, in order to grow. So, when the model lm(cover ~ elev, data= abies[_subset]), or any other model including elevation as a variable describing cover will not be taking into account this highly skewed data as it is working under a normal distribution. This can be seen with the hotpink link on the graph below. This is the residual line for cover ~ elev for the abies species under OLS conditions.

plot(cover ~ elev, data= abies_subset)
abline(elev_interaction_mod_abiessubset, col="hot pink")
## Warning in abline(elev_interaction_mod_abiessubset, col = "hot pink"): only
## using the first two of 14 regression coefficients

The line trends downwards, which we know to be false as the data trend actually increases as elevation increases, after a specific point. However, it can be seen through the blue line on the graph that when the model glm(cover ~ elev, data= abies[_subset], family=“poisson”) is plotted the regression line is much more in line with what we would expect to predict the data.

plot(cover ~ elev, data= abies_subset)
abline(elev_interaction_mod_abiessubset, col="hot pink")
## Warning in abline(elev_interaction_mod_abiessubset, col = "hot pink"): only
## using the first two of 14 regression coefficients
abline(abies_elev_poi, col= "light blue")

The intercept begins around the time the data points begin to increase, and it continues with an upward trend until the end of the graph, just like the data points.

However, for the acer species, when comparing these plots it confirms suspicion that the OLS distribution is a better fitfor the acer species, the residuals vs leverage graph and scale- location are much more better distributed along the line, and more evenly distributed in space during the OLS regression rather than the poisson regression.

par(mfrow= c(2,2))
plot(final_acer_model)

plot(final_acer_poisson)

more (numerical) proof that OLS is better for acer, and poisson is better for abies

pseudo_r2(final_acer_poisson)
## [1] 0.2031699
pseudo_r2(final_abies_poisson)
## [1] 0.942792
# Compare these to the output adjusted r squared from normal 
summary(final_acer_model)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev * tci + elev * beers + elev * disturb, data = acer_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.2687 -1.7782  0.1818  1.8157  6.7014 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         3.6226126  1.2327860   2.939 0.003403 ** 
## elev                0.0023344  0.0012442   1.876 0.061044 .  
## tci                 0.2813314  0.1435767   1.959 0.050448 .  
## streamdist          0.0010346  0.0005762   1.796 0.072995 .  
## disturbLT-SEL       1.2807845  0.8003790   1.600 0.109990    
## disturbSETTLE       0.1107374  1.4806386   0.075 0.940402    
## disturbVIRGIN       4.9106030  1.1133143   4.411 1.19e-05 ***
## beers               0.3924581  0.3911946   1.003 0.316089    
## elev:tci           -0.0005556  0.0001626  -3.418 0.000668 ***
## elev:beers         -0.0009221  0.0003985  -2.314 0.020940 *  
## elev:disturbLT-SEL -0.0014959  0.0007833  -1.910 0.056557 .  
## elev:disturbSETTLE -0.0004910  0.0021032  -0.233 0.815474    
## elev:disturbVIRGIN -0.0044391  0.0009320  -4.763 2.31e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.433 on 716 degrees of freedom
## Multiple R-squared:  0.2263, Adjusted R-squared:  0.2133 
## F-statistic: 17.45 on 12 and 716 DF,  p-value: < 2.2e-16
summary(final_abies_model)
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + elev * 
##     tci + elev * streamdist + elev * disturb, data = abies_subset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.0486 -0.0840 -0.0027  0.0643  3.9848 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         7.781e-01  2.787e-01   2.792  0.00538 ** 
## elev               -9.136e-04  2.865e-04  -3.189  0.00149 ** 
## tci                -5.731e-02  3.296e-02  -1.739  0.08245 .  
## streamdist         -2.063e-03  3.564e-04  -5.790 1.05e-08 ***
## disturbLT-SEL      -2.418e-02  1.904e-01  -0.127  0.89895    
## disturbSETTLE      -5.790e-02  3.417e-01  -0.169  0.86549    
## disturbVIRGIN      -5.510e+00  2.787e-01 -19.770  < 2e-16 ***
## elev:tci            7.168e-05  3.879e-05   1.848  0.06504 .  
## elev:streamdist     2.285e-06  3.515e-07   6.502 1.48e-10 ***
## elev:disturbLT-SEL  6.744e-06  1.858e-04   0.036  0.97106    
## elev:disturbSETTLE  6.001e-05  4.783e-04   0.125  0.90018    
## elev:disturbVIRGIN  5.012e-03  2.354e-04  21.287  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5826 on 717 degrees of freedom
## Multiple R-squared:  0.6642, Adjusted R-squared:  0.6591 
## F-statistic:   129 on 11 and 717 DF,  p-value: < 2.2e-16

This further proves that OLS is better fitted for the Acer species as the pseudo R^2 value is less than the normal r^2 value, whereas the pseudo R^2 value for abies poisson distribution is higher than the OLS value

So, it can be concluded that the best models to represent the cover for species Acer and Abies are: the OLS regression of Acer (final_acer_model) and the poisson regression of Abies (final_abies_poisson), as the skewed elevation data in the abies species makes it less accurate when using OLS regression.

  1. Provide a plain English summary (i.e., no statistics) of what you have found and what conclusions we can take away from your analysis?

This analysis found that with OLS modeling, the Abies fraseri species distribution were significantly affected by both elevation and disturbance while the Acer rubrum species distribution were significantly affected by all of the explanatory variables. Poisson modeling was found to model the Abies Fraseri species best while OLS models yielded the most consistent and highest R-squared values specifically for elevation and disturbance in the Acer Rubrum species, especially when outliers are removed for uniformity of data. The interaction effect proves significance specifically of the explanatory variable ‘elevation’ in the Abies fraseri species - due to these trees being located primarily in higher elevation areas and distribution variable being skewed due to this factor. Including a factor of elevation also increases the performance of the Acer Rubrum species models, however not to the extent it does of the abies for reasons previously mentioned.

  1. (optional) Examine the behavior of the function stepAIC() using the exploratory models developed above. This is a very simple and not very robust machine learning stepwise algorithm that uses AIC to select a best model. By default it does a backward selection routine.

Repeat of the stepAIC used in the model selection above to answer question four. Using the acersubset and elevation interaction.

stepAIC(elev_interaction_mod_acersubset)
## Start:  AIC=1310.9
## cover ~ elev + tci + streamdist + disturb + beers + elev * tci + 
##     elev * beers + elev * streamdist + elev * disturb
## 
##                   Df Sum of Sq    RSS    AIC
## - elev:streamdist  1     2.655 4239.1 1309.4
## <none>                         4236.5 1310.9
## - elev:beers       1    31.418 4267.9 1314.3
## - elev:tci         1    71.789 4308.3 1321.2
## - elev:disturb     3   112.520 4349.0 1324.0
## 
## Step:  AIC=1309.36
## cover ~ elev + tci + streamdist + disturb + beers + elev:tci + 
##     elev:beers + elev:disturb
## 
##                Df Sum of Sq    RSS    AIC
## <none>                      4239.1 1309.4
## - streamdist    1    19.087 4258.2 1310.6
## - elev:beers    1    31.707 4270.8 1312.8
## - elev:tci      1    69.149 4308.3 1319.2
## - elev:disturb  3   140.826 4380.0 1327.2
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + beers + 
##     elev:tci + elev:beers + elev:disturb, data = acer_subset)
## 
## Coefficients:
##        (Intercept)                elev                 tci          streamdist  
##          3.6226126           0.0023344           0.2813314           0.0010346  
##      disturbLT-SEL       disturbSETTLE       disturbVIRGIN               beers  
##          1.2807845           0.1107374           4.9106030           0.3924581  
##           elev:tci          elev:beers  elev:disturbLT-SEL  elev:disturbSETTLE  
##         -0.0005556          -0.0009221          -0.0014959          -0.0004910  
## elev:disturbVIRGIN  
##         -0.0044391

Using the output from the stepAIC(elev_interaction_mod_acersubset) it can be used to describe the functionality of stepAIC(). When used the stepwise function takes a backward approach by first looking at all of the variables included in a model taken in the function. By running through the function the first time it is identified that the overall AIC is 1310.9, however after the second output when the function is modified it is identified to have an AIC of 1309.36. It can be seen that this is equivalent to the AIC Value corresponding to the elev:streamdist,it can be concluded that the stepAIC function identifies the AIC value of the model IF the variable it is describing is dropped. From this output it can be further concluded that these are the variables which can be removed to to improve the model in a simple way.So, using the Acer subset, the variable elev:streamdist is the only variables that should be considered to be removed. However, in the stepAIC(elev_interaction_mod_abiessubset), shown below, it can be determined that removing elev:beers and beers will both improve the proposed model by lowering the AIC value.

stepAIC(elev_interaction_mod_abiessubset)
## Start:  AIC=-773.27
## cover ~ elev + tci + streamdist + disturb + beers + elev * tci + 
##     elev * beers + elev * streamdist + elev * disturb
## 
##                   Df Sum of Sq    RSS     AIC
## - elev:beers       1     0.325 243.20 -774.29
## <none>                         242.87 -773.27
## - elev:tci         1     1.304 244.18 -771.36
## - elev:streamdist  1    14.401 257.27 -733.28
## - elev:disturb     3   214.690 457.56 -317.54
## 
## Step:  AIC=-774.29
## cover ~ elev + tci + streamdist + disturb + beers + elev:tci + 
##     elev:streamdist + elev:disturb
## 
##                   Df Sum of Sq    RSS     AIC
## - beers            1     0.198 243.40 -775.70
## <none>                         243.20 -774.29
## - elev:tci         1     1.085 244.28 -773.05
## - elev:streamdist  1    14.464 257.66 -734.18
## - elev:disturb     3   214.366 457.56 -319.54
## 
## Step:  AIC=-775.7
## cover ~ elev + tci + streamdist + disturb + elev:tci + elev:streamdist + 
##     elev:disturb
## 
##                   Df Sum of Sq    RSS     AIC
## <none>                         243.40 -775.70
## - elev:tci         1     1.159 244.56 -774.24
## - elev:streamdist  1    14.353 257.75 -735.93
## - elev:disturb     3   215.637 459.03 -319.20
## 
## Call:
## lm(formula = cover ~ elev + tci + streamdist + disturb + elev:tci + 
##     elev:streamdist + elev:disturb, data = abies_subset)
## 
## Coefficients:
##        (Intercept)                elev                 tci          streamdist  
##          7.781e-01          -9.136e-04          -5.731e-02          -2.063e-03  
##      disturbLT-SEL       disturbSETTLE       disturbVIRGIN            elev:tci  
##         -2.418e-02          -5.790e-02          -5.510e+00           7.168e-05  
##    elev:streamdist  elev:disturbLT-SEL  elev:disturbSETTLE  elev:disturbVIRGIN  
##          2.286e-06           6.744e-06           6.001e-05           5.012e-03